The present invention is directed to image-display systems and in particular to the manner in which such systems store image data.
The typical electronic display system employs a cathode-ray tube or other device to display images presented to it as sequences of voltages. Digital-to-analog converters produce the sequences of analog voltages in response to image data read from a fast display memory at a rate the same as that at which the device displays the data on its screen.
The image is organized into picture elements, or pixels. A typical full-screen image may be organized in an array of, say, 640 pixels per line by 480 lines. For a color monitor, the value of each pixel is represented as a three-dimensional (red, green, blue) vector, and each component of that vector may require, say, eight bits of resolution. Consequently, to specify the complete range of colors possible throughout an image of that size requires a display memory whose size is on the order of 8 bits/component.times.3 components/vector.times.640 vectors/line.times.480 lines, i.e., more than seven megabits of storage. Since the display memory must be fast enough to keep up with the scan rate of the display device, such a storage requirement contributes significantly to the cost of a display system, and such cost is not acceptable for lower-end systems.
Fortunately, techniques have been found to reduce the display-memory size. The typical technique employs a "palette memory." A palette memory enables the display memory, which would otherwise have to contain, say, 8 bits/component.times.3 components/pixel=24 bits/pixel, to employ only, say, four or eight bits per pixel for the same resolution. The palette memory is interposed between the display memory and the digital-to-analog converters, and it interprets the, say, eight-bit output of the display memory as the address of one of its 2.sup.8 =256 twenty-four-bit locations. That is, instead of containing all 2.sup.24 possible vectors, it contains a "palette" of only 256 user-selected values in an eight-bit system. The user can still use any of the 2.sup.24 possible values, but he can employ only 256 of them in any single image. Such a range of values is more than adequate for the display of most computer-generated graphics applications, so a user needs to resort to higher-end systems only to display natural images and computer-generated images that result from programs that employ shading.